package alp.starcode.sanping.framework.database.mariadb.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * sys_func(系统功能表)
 * </p>
 *
 * @author Clxini
 * @since 2024-03-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_func")
public class SysFunc implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 功能流水号
     */
    @TableId(value = "func_id", type = IdType.INPUT)
    private String funcId;

    /**
     * 父级功能流水号
     */
    private String parentFuncId;

    /**
     * 功能图标
     */
    private String funcIcon;

    /**
     * 功能名称
     */
    private String funcName;

    /**
     * 功能标识
     */
    private String funcKey;

    /**
     * 请求类型:GET、POST、PUT、DELETE
     */
    private String requestType;

    /**
     * 功能路径
     */
    private String funcPath;

    /**
     * 组件地址
     */
    private String componentPath;

    /**
     * 功能类型：目录、菜单、操作、单页应用
     */
    private String funcType;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 显示顺序
     */
    private Double funcOrder;

    /**
     * 是否显示
     */
    private Boolean isShow;

    /**
     * 是否删除
     */
    private Boolean isDeleted;

    /**
     * 数据鉴权
     */
    private Boolean authentication;

    /**
     * 数据来源批量导入、手动添加
     */
    private String dataSource;

    /**
     * 创建用户Id
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserId;

    /**
     * 创建用户名称
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    /**
     * 修改用户Id
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserId;

    /**
     * 修改用户名称
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserName;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;


}
